/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package zonasoft.Manejadores;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import zonasoft.Conceptos.Puesto;
import zonasoft.Conceptos.Zona;

/**
 *
 * @author Usuario
 */
public class ManejadorPuesto {
     public static Connection con;
     public static Connection conm;

     
public static Puesto getPuesto(String codigoPuesto) throws SQLException {
if (codigoPuesto == null) {
    throw new SQLException ("no hay elemento clave en la clase Puesto");
}
 ResultSet rs = null;
 PreparedStatement pst = null;
 Puesto puesto = null;
 try {
            pst = (PreparedStatement) con.prepareStatement("select * from  puestodevotacion where id_puestovotacion = ?");
            pst.setString(1, codigoPuesto.trim());
            rs = pst.executeQuery();
            while (rs.next()) {
          puesto = puesto.load(rs);
            }
        } finally {
            if (rs != null) {
                rs.close();
            }
            if (pst != null) {
                pst.close();
            }
            return puesto;
        }
}

public static void crearPuesto(Puesto pu) throws SQLException{
if(con == null){
throw new SQLException("no hay conexion");
  }
PreparedStatement pst = null;
try{
    pst=    (PreparedStatement) con.prepareStatement("insert into puestodevotacion values (?,?,?,?,?,?,?,?,?,?)");
  pst.setString(1, null);
   pst.setString(2, pu.getCodigoPuesto());
   pst.setString(3,pu.getIdZona());
   pst.setString(4, pu.getNombrePuesto());
   pst.setString(5,pu.getIdbarrio() );
   pst.setString(6, pu.getHombres());
   pst.setString(7, pu.getMujeres());
   pst.setString(8, pu.getCapacidadVotos());
   pst.setString(9, pu.getDireccion());
   pst.setString(10, pu.getMesas() );

pst.executeUpdate();

  }finally{
  if(pst != null){
  pst.close();
   }
  }
}// fin de la clase crear eleccion




   // inicio  del listado
    private static List listaZonas;
    public static List getZonas(){
       return listaZonas;
       }
    public static List listarZonas() throws SQLException, Exception{
      ResultSet rs = null;
      PreparedStatement pst = null;
      listaZonas = new LinkedList();
   try{
          pst = (PreparedStatement) con.prepareStatement(" SELECT * from zona");
//        pst = con.prepareStatement("select * from departamentos");
            rs = pst.executeQuery();
              while (rs.next()){
              listaZonas.add(Zona.load(rs));
                 }
          } finally {
                if (rs != null) {
                   rs.close();
               }
                if (pst != null) {
                  pst.close();
               }
                return listaZonas;
               }
} // fin del listado

    private static List listaPuestos;
    public static List getPuestos(){
    return listaPuestos;
    }
    
    public static List listarPuestos() throws SQLException,  Exception{
       ResultSet rs = null;
     PreparedStatement pst = null;
     listaPuestos= new LinkedList();
   try{
      pst = (PreparedStatement) con.prepareStatement(" SELECT * FROM `puestodevotacion` ORDER BY `puestodevotacion`.`nombre` ASC ");



//       pst = con.prepareStatement("select * from departamentos");
     rs = pst.executeQuery();
     while (rs.next()){
         listaPuestos.add(Puesto.load2(rs));
            }
  } finally {
        if (rs != null) {
           rs.close();
       }
        if (pst != null) {
          pst.close();
       }
        return listaPuestos;
}

    } // fin del listado


    public static List listarPuestosByZona(String idZona) throws SQLException,  Exception{
       ResultSet rs = null;
     PreparedStatement pst = null;
     listaPuestos= new LinkedList();
   try{
      pst = (PreparedStatement) con.prepareStatement(" SELECT * FROM `puestodevotacion` WHERE idzona = ? ORDER BY `puestodevotacion`.`nombre` ASC ");
      pst.setString(1, idZona);

      //       pst = con.prepareStatement("select * from departamentos");
     rs = pst.executeQuery();
     while (rs.next()){
         listaPuestos.add(Puesto.load2(rs));
            }
  } finally {
        if (rs != null) {
           rs.close();
       }
        if (pst != null) {
          pst.close();
       }
        return listaPuestos;
}

    } // fin del listado

}// fin de la clase
